package com.ruoyi.user.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 收款明细对象 finance
 * 
 * @author ruoyi
 * @date 2025-03-26
 */
public class Finance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long financeId;

    /** 收款月份 */
    @Excel(name = "收款月份")
    private String paidMonth;

    /** 房屋ID（关联house表） */
    @Excel(name = "房屋ID", readConverterExp = "关=联house表")
    private Long houseId;

    /** 租户ID */
    @Excel(name = "租户ID")
    private Long personId;

    /** 租户ID */
    @Excel(name = "租户姓名")
    private String personName;

    /** 床位费 */
    @Excel(name = "床位费")
    private BigDecimal bedMoney;

    /** 伙食费 */
    @Excel(name = "伙食费")
    private BigDecimal foodMoney;

    /** 护理费 */
    @Excel(name = "护理费")
    private BigDecimal nurseMoney;

    /** 押金 */
    @Excel(name = "押金")
    private BigDecimal deposit;

    /** 电费 */
    @Excel(name = "电费")
    private BigDecimal eletricFee;

    /** 水费 */
    @Excel(name = "水费")
    private BigDecimal waterFee;

    /** 其他费 */
    @Excel(name = "其他费")
    private BigDecimal otherFee;

    /** 费用总计 */
    @Excel(name = "费用总计")
    private BigDecimal totalMoney;

    /** 收款状态 */
    @Excel(name = "收款状态")
    private Long state;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private Long paidType;

    /** 付款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paidDate;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operTime;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operator;

    public void setFinanceId(Long financeId) 
    {
        this.financeId = financeId;
    }

    public Long getFinanceId() 
    {
        return financeId;
    }
    public void setPaidMonth(String paidMonth) 
    {
        this.paidMonth = paidMonth;
    }

    public String getPaidMonth() 
    {
        return paidMonth;
    }
    public void setHouseId(Long houseId) 
    {
        this.houseId = houseId;
    }

    public Long getHouseId() 
    {
        return houseId;
    }
    public void setPersonId(Long personId) 
    {
        this.personId = personId;
    }

    public Long getPersonId() 
    {
        return personId;
    }
    public void setBedMoney(BigDecimal bedMoney) 
    {
        this.bedMoney = bedMoney;
    }

    public BigDecimal getBedMoney() 
    {
        return bedMoney;
    }
    public void setFoodMoney(BigDecimal foodMoney) 
    {
        this.foodMoney = foodMoney;
    }

    public BigDecimal getFoodMoney() 
    {
        return foodMoney;
    }
    public void setNurseMoney(BigDecimal nurseMoney) 
    {
        this.nurseMoney = nurseMoney;
    }

    public BigDecimal getNurseMoney() 
    {
        return nurseMoney;
    }
    public void setDeposit(BigDecimal deposit) 
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit() 
    {
        return deposit;
    }
    public void setEletricFee(BigDecimal eletricFee) 
    {
        this.eletricFee = eletricFee;
    }

    public BigDecimal getEletricFee() 
    {
        return eletricFee;
    }
    public void setWaterFee(BigDecimal waterFee) 
    {
        this.waterFee = waterFee;
    }

    public BigDecimal getWaterFee() 
    {
        return waterFee;
    }
    public void setOtherFee(BigDecimal otherFee) 
    {
        this.otherFee = otherFee;
    }

    public BigDecimal getOtherFee() 
    {
        return otherFee;
    }
    public void setTotalMoney(BigDecimal totalMoney) 
    {
        this.totalMoney = totalMoney;
    }

    public BigDecimal getTotalMoney() 
    {
        return totalMoney;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }
    public void setPaidType(Long paidType) 
    {
        this.paidType = paidType;
    }

    public Long getPaidType() 
    {
        return paidType;
    }
    public void setPaidDate(Date paidDate) 
    {
        this.paidDate = paidDate;
    }

    public Date getPaidDate() 
    {
        return paidDate;
    }
    public void setOperTime(Date operTime) 
    {
        this.operTime = operTime;
    }

    public Date getOperTime() 
    {
        return operTime;
    }
    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("financeId", getFinanceId())
            .append("paidMonth", getPaidMonth())
            .append("houseId", getHouseId())
            .append("personId", getPersonId())
            .append("bedMoney", getBedMoney())
            .append("foodMoney", getFoodMoney())
            .append("nurseMoney", getNurseMoney())
            .append("deposit", getDeposit())
            .append("eletricFee", getEletricFee())
            .append("waterFee", getWaterFee())
            .append("otherFee", getOtherFee())
            .append("totalMoney", getTotalMoney())
            .append("state", getState())
            .append("paidType", getPaidType())
            .append("paidDate", getPaidDate())
            .append("operTime", getOperTime())
            .append("operator", getOperator())
            .append("remark", getRemark())
            .toString();
    }
}
